স্টুডেন্ট ম্যানেজমেন্ট সিস্টেম

Computer Programming - সি++ প্রোগ্রামিং (C++ Programming) প্র্যাকটিস প্রোজেক্টস |
218
218

স্টুডেন্ট ম্যানেজমেন্ট সিস্টেম হলো এমন একটি প্রোগ্রাম, যেখানে শিক্ষার্থীদের তথ্য সংরক্ষণ, হালনাগাদ, খুঁজে পাওয়া এবং মুছে ফেলা যায়। এই ধরনের প্রোগ্রাম সাধারণত শিক্ষাপ্রতিষ্ঠানে ব্যবহৃত হয় শিক্ষার্থীদের তথ্য এবং তাদের একাডেমিক তথ্য ব্যবস্থাপনার জন্য। একটি সাধারণ স্টুডেন্ট ম্যানেজমেন্ট সিস্টেমে শিক্ষার্থীদের নাম, আইডি, বিভাগ, বয়স, ফলাফল ইত্যাদি সংরক্ষণ করা হয়।

স্টুডেন্ট ম্যানেজমেন্ট সিস্টেমের প্রধান বৈশিষ্ট্যসমূহ

  1. স্টুডেন্ট যোগ করা: নতুন শিক্ষার্থীর তথ্য সংরক্ষণ করা।
  2. স্টুডেন্ট তথ্য দেখানো: নির্দিষ্ট শিক্ষার্থীর তথ্য দেখানো।
  3. স্টুডেন্ট তথ্য আপডেট করা: কোনো শিক্ষার্থীর পূর্বে সংরক্ষিত তথ্য পরিবর্তন করা।
  4. স্টুডেন্ট মুছে ফেলা: কোনো শিক্ষার্থীর তথ্য ডাটাবেস থেকে মুছে ফেলা।
  5. সব শিক্ষার্থীর তালিকা দেখানো: ডাটাবেসে থাকা সমস্ত শিক্ষার্থীর তথ্য দেখানো।

উদাহরণ: স্টুডেন্ট ম্যানেজমেন্ট সিস্টেম (C++ এ তৈরি)

নিচের প্রোগ্রামটি একটি বেসিক স্টুডেন্ট ম্যানেজমেন্ট সিস্টেম তৈরি করতে ব্যবহার করা হয়েছে। এখানে শিক্ষার্থীদের জন্য একটি ক্লাস তৈরি করা হয়েছে এবং তাদের তথ্য সংরক্ষণ, হালনাগাদ এবং প্রদর্শনের জন্য বিভিন্ন মেথড ব্যবহার করা হয়েছে।

#include <iostream>
#include <vector>
#include <string>
using namespace std;

class Student {
private:
    int id;
    string name;
    int age;
    string department;

public:
    Student(int id, string name, int age, string department) 
        : id(id), name(name), age(age), department(department) {}

    int getId() const { return id; }

    void display() const {
        cout << "ID: " << id << "\nName: " << name 
             << "\nAge: " << age << "\nDepartment: " << department << endl;
    }

    void update(string newName, int newAge, string newDept) {
        name = newName;
        age = newAge;
        department = newDept;
    }
};

class StudentManagementSystem {
private:
    vector<Student> students;

public:
    void addStudent(int id, string name, int age, string department) {
        Student newStudent(id, name, age, department);
        students.push_back(newStudent);
        cout << "Student added successfully!" << endl;
    }

    void displayStudent(int id) const {
        for (const auto& student : students) {
            if (student.getId() == id) {
                student.display();
                return;
            }
        }
        cout << "Student not found!" << endl;
    }

    void updateStudent(int id, string name, int age, string department) {
        for (auto& student : students) {
            if (student.getId() == id) {
                student.update(name, age, department);
                cout << "Student information updated successfully!" << endl;
                return;
            }
        }
        cout << "Student not found!" << endl;
    }

    void deleteStudent(int id) {
        for (auto it = students.begin(); it != students.end(); ++it) {
            if (it->getId() == id) {
                students.erase(it);
                cout << "Student deleted successfully!" << endl;
                return;
            }
        }
        cout << "Student not found!" << endl;
    }

    void displayAllStudents() const {
        if (students.empty()) {
            cout << "No students available." << endl;
            return;
        }
        for (const auto& student : students) {
            student.display();
            cout << "---------------------" << endl;
        }
    }
};

int main() {
    StudentManagementSystem sms;
    int choice, id, age;
    string name, department;

    do {
        cout << "\nStudent Management System\n";
        cout << "1. Add Student\n2. Display Student\n3. Update Student\n4. Delete Student\n5. Display All Students\n6. Exit\n";
        cout << "Enter your choice: ";
        cin >> choice;

        switch (choice) {
            case 1:
                cout << "Enter ID: "; cin >> id;
                cout << "Enter Name: "; cin.ignore(); getline(cin, name);
                cout << "Enter Age: "; cin >> age;
                cout << "Enter Department: "; cin.ignore(); getline(cin, department);
                sms.addStudent(id, name, age, department);
                break;
            case 2:
                cout << "Enter ID: "; cin >> id;
                sms.displayStudent(id);
                break;
            case 3:
                cout << "Enter ID: "; cin >> id;
                cout << "Enter New Name: "; cin.ignore(); getline(cin, name);
                cout << "Enter New Age: "; cin >> age;
                cout << "Enter New Department: "; cin.ignore(); getline(cin, department);
                sms.updateStudent(id, name, age, department);
                break;
            case 4:
                cout << "Enter ID: "; cin >> id;
                sms.deleteStudent(id);
                break;
            case 5:
                sms.displayAllStudents();
                break;
            case 6:
                cout << "Exiting..." << endl;
                break;
            default:
                cout << "Invalid choice. Please try again." << endl;
        }
    } while (choice != 6);

    return 0;
}

প্রোগ্রাম ব্যাখ্যা

Student ক্লাস:

  • শিক্ষার্থীর id, name, age, এবং department গুণাবলী রয়েছে।
  • display মেথড শিক্ষার্থীর তথ্য প্রিন্ট করতে ব্যবহৃত হয়।
  • update মেথড শিক্ষার্থীর তথ্য আপডেট করতে ব্যবহৃত হয়।

StudentManagementSystem ক্লাস:

  • students নামের একটি ভেক্টর রয়েছে, যা সব শিক্ষার্থীর অবজেক্ট সংরক্ষণ করে।
  • addStudent মেথড নতুন শিক্ষার্থী যোগ করে।
  • displayStudent মেথড নির্দিষ্ট id অনুযায়ী শিক্ষার্থীর তথ্য প্রিন্ট করে।
  • updateStudent মেথড নির্দিষ্ট id এর শিক্ষার্থীর তথ্য আপডেট করে।
  • deleteStudent মেথড নির্দিষ্ট id এর শিক্ষার্থী মুছে ফেলে।
  • displayAllStudents মেথড সকল শিক্ষার্থীর তথ্য প্রিন্ট করে।

main ফাংশন:

  • মেনু ড্রাইভেন প্রোগ্রামের মাধ্যমে ব্যবহারকারীকে বিভিন্ন অপশন প্রদান করে এবং ব্যবহারকারী প্রদত্ত অপশন অনুযায়ী কাজ সম্পন্ন করে।

ফিচার আপগ্রেডের সম্ভাবনা

  1. ডেটাবেস ইন্টিগ্রেশন: শিক্ষার্থীর তথ্য একটি ডাটাবেসে সংরক্ষণ করা যেতে পারে।
  2. ফাইল হ্যান্ডলিং: শিক্ষার্থীদের তথ্য একটি ফাইলে সংরক্ষণ করে এবং পরবর্তীতে পড়ার ব্যবস্থা করা যেতে পারে।
  3. GUI: প্রোগ্রামটিকে একটি GUI অ্যাপ্লিকেশন বানানো যেতে পারে, যাতে এটি আরও ব্যবহারবান্ধব হয়।
  4. ফিল্টার এবং সার্চ অপশন: শিক্ষার্থীদের বিভিন্ন বৈশিষ্ট্যের উপর ভিত্তি করে ফিল্টার ও সার্চ করার সুবিধা যুক্ত করা যেতে পারে।

এই প্রোগ্রামটি একটি বেসিক স্টুডেন্ট ম্যানেজমেন্ট সিস্টেমের ধারণা দেয়, যা প্রোগ্রামিংয়ের বেসিক কনসেপ্টগুলো যেমন, ক্লাস, অবজেক্ট, ভেক্টর, এবং মেনু ড্রাইভেন প্রোগ্রামিং-এর অনুশীলন করতে সহায়ক।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion